/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

function validarRedirect(retorno) { if (retorno.isRedirect) { alertify.error("La sesion actual ha expirado."); setTimeout(function () { document.location.href = retorno.redirectUrl; }, 2000); } }
function validarSesion() {  $.ajax({ url: '../Login/ValidarSesion', type: 'POST',success: function (response) {var retorno = response;validarRedirect(retorno);      }   });}

///recorre todos los elementos con la clase requerido del css y detiene la ejecucion si el elemento
/// se encuentra vacio. dbs
var ValidarRequeridos = function () {
    var error = 0;
    $('.requerido').each(function (i, elem) {
       /// alert($(elem).val() );
        if ($(elem).val() == '') {
            $(elem).css({ 'border': '1px solid red' });
            error++;
        } else {
            $(elem).css({ 'border': '1px solid gray' });
        }
    });
    $('.requeridoLst').each(function (i, elem) {
       /// alert($(elem).val() );
        if ($(elem).val() == '000' || $(elem).val() == '00000' || $(elem).val() == '0') {
            $(elem).css({ 'border': '1px solid red' });
            error++;
        } else {
            $(elem).css({ 'border': '1px solid gray' });
        }
    });
    if (error > 0) {
        // event.preventDefault();
        msgError("Debe ingresar los campos requeridos ");
       // $('#aviso').html('<br /><span style="color:red;">Debe ingresar los campos requeridos </span> <br />');
        return false;
    } else {
         msgError("");
         //$('#aviso').html('<br /><span style="color:red;"></span> <br />');
        return true;
    }
};
var ValidarRequeridosEdit = function () {
    var error = 0;
    $('.requeridoEdit').each(function (i, elem) {
       /// alert($(elem).val() );
        if ($(elem).val() == '') {
            $(elem).css({ 'border': '1px solid red' });
            error++;
        } else {
            $(elem).css({ 'border': '1px solid gray' });
        }
    });
    if (error > 0) {
        msgErrorEdit("Debe ingresar los campos requeridos ");
        //$('#avisoEdit').html('<br /><span style="color:red;">Debe ingresar los campos requeridos </span> <br />');
        return false;
    } else {
        msgErrorEdit("");
        //$('#avisoEdit').html('<br /><span style="color:red;"></span> <br />');
        return true;
    }
};

var ValidarRequeridosLst = function () {
    var error = 0;
    $('.requeridoLst').each(function (i, elem) {
       /// alert($(elem).val() );
        if ($(elem).val() == '000' || $(elem).val() == '00000' || $(elem).val() == '0') {
            $(elem).css({ 'border': '1px solid red' });
            error++;
        } else {
            $(elem).css({ 'border': '1px solid gray' });
        }
    });
    if (error > 0) {
          msgError("Debe seleccionar la lista desplegable requerida. ");
       // $('#aviso').html('<br /><span style="color:red;">Debe ingresar los campos requeridos </span> <br />');
        return false;
    } else {
        //$('#aviso').html('<br /><span style="color:red;"></span> <br />');
        msgErrorEdit("");
        return true;
    }
};
function msgError(message,control) {
    if (message == "") {
        $('#aviso').html('<br /><span style="color:red;"></span> <br />');
       if(control!=undefined){ 
            if (control=="grid" || control=="grid2") {
                $("#" + control).css({'border': '1px solid transparent'});
            } else {
                $("#" + control).css({'border': '1px solid gray'});
            }
       }
    } else {
        $('#aviso').html('<br /><img src="/Images/botones/warning.png"  />&nbsp;&nbsp;<span style="color:red; font-weight:bold;">' + message + '</span> <br />');
         if(control!=undefined) {
           $("#"+control).css({ 'border': '1px solid red' });
       }
    }
};
function msgError2(message,control) {
    if (message == "") {
        $('#aviso').html('<br /><span style="color:red;"></span> <br />');
       if(control!=undefined) {
           $("#"+control).css({ 'border': '1px solid gray' });
       }
    } else {
        $('#aviso').html('<br /><img src="/Images/botones/warning.png"  />&nbsp;&nbsp;<span style="color:red; font-weight:bold;">' + message + '</span> <br />');
         if(control!=undefined) {
           $("#"+control).css({ 'border': '1px solid red' });
       }
    }
};
function msgOk(message) {
    if (message == "") {
        $('#aviso').html('<br /><span style="color:green;"></span> <br />');
       
    } else {
        $('#aviso').html('<br /><img src="/Images/botones/ok.png" width=24/>&nbsp;&nbsp;<span style="color:green; font-weight:bold;">' + message + '</span> <br />');
      
    }
};
function msgErrorEdit(message,control) {
    if (message == "") {
        $('#avisoEdit').html('<br /><span style="color:red;"></span> <br />');
       if(control!=undefined) {
           $("#"+control).css({ 'border': '1px solid gray' });
       }
    } else {
        $('#avisoEdit').html('<br /><img src="Images/botones/warning.png"  />&nbsp;&nbsp;<span style="color:red; font-weight:bold;">' + message + '</span> <br />');
         if(control!=undefined) {
           $("#"+control).css({ 'border': '1px solid red' });
       }
    }
}
function msgOkEdit(message) {
    if (message == "") {
        $('#avisoEdit').html('<br /><span style="color:green;"></span> <br />');
    } else {
        $('#avisoEdit').html('<br /><img src="/Images/botones/ok.png" width=24 />&nbsp;&nbsp;<span style="color:green; font-weight:bold;">' + message + '</span> <br />');
      
    }
}


/// <summary>
        /// Validamos el número de enteros y decimales
        /// </summary>
        /// <param name="el">Elemento que lanza el método</param>
        /// <param name="evt">Evneto</param>
        /// <param name="ints">Número de enteros permitidos</param>
        /// <param name="decimals">Número de decimales permitidos</param>
        function validateFloatKeyPress(el, evt, ints, decimals) {
var comaAscii=46;
var coma=".";

            // El punto lo cambiamos por la coma
/*            if (evt.keyCode == 46) {
                evt.keyCode = comaAscii;
            }
            */

            // Valores numéricos
            var charCode = (evt.which) ? evt.which : event.keyCode;
            if (charCode != comaAscii && charCode > 31
        && (charCode < 48 || charCode > 57)) {
                return false;
            }

            // Sólo una coma
            if (charCode == comaAscii) {
                if (el.value.indexOf(coma) !== -1) {
                    return false;
                }

                return true;
            }

            // Determinamos si hay decimales o no
            if (el.value.indexOf(coma) == -1) {
                // Si no hay decimales, directamente comprobamos que el número que hay ya supero el número de enteros permitidos
                if (el.value.length >= ints) {
                    return false;
                }
            }
            else {

                // Damos el foco al elemento
                el.focus();

                // Para obtener la posición del cursor, obtenemos el rango de la selección vacía
                var oSel = document.selection.createRange();

                // Movemos el inicio de la selección a la posición 0
                oSel.moveStart('character', -el.value.length);

                // La posición de caret es la longitud de la selección
                iCaretPos = oSel.text.length;

                // Distancia que hay hasta la coma
                var dec = el.value.indexOf(coma);

                // Si la posición es anterior a los decimales, el cursor está en la parte entera
                if (iCaretPos <= dec) {
                    // Obtenemos la longitud que hay desde la posición 0 hasta la coma, y comparamos
                    if (dec >= ints) {
                        return false;
                    }
                }
                else { // El cursor está en la parte decimal
                    // Obtenemos la longitud de decimales (longitud total menos distancia hasta la coma menos el carácter coma)
                    var numDecimals = el.value.length - dec - 1;

                    if (numDecimals >= decimals) {
                        return false;
                    }
                }
            }

            return true;
        }


function solonumeros(e) {
    var target = (e.target ? e.target : e.srcElement);
    var key = (e ? e.keyCode || e.which : window.event.keyCode);
    if (key == 46)
        return (target.value.length > 0 && target.value.indexOf(".") == -1);
    return (key <= 12 || (key >= 48 && key <= 57) || key == 0);
}


function msgErrorB(divMsg,message,control) {
    if (message == "") {
        $('#'+divMsg).html('<br /><span style="color:red;"></span> <br />');
       if(control!=undefined){ 
            if (control=="grid" || control=="grid2") {
                $("#" + control).css({'border': '1px solid transparent'});
            } else {
                $("#" + control).css({'border': '1px solid gray'});
            }
       }
    } else {
        $('#'+divMsg).html('<br /><img src="images/botones/warning.png"  />&nbsp;&nbsp;<span style="color:red; font-weight:bold;">' + message + '</span> <br />');
         if(control!=undefined) {
           $("#"+control).css({ 'border': '1px solid red' });
       }
    }
}
function msgOkB(divMsg,message) {
    if (message == "") {
        $('#'+divMsg).html('<br /><span style="color:green;"></span> <br />');
       
    } else {
        $('#'+divMsg).html('<br /><img src="images/botones/ok.png" width=24/>&nbsp;&nbsp;<span style="color:green; font-weight:bold;">' + message + '</span> <br />');
      
    }
};

function limpiarRequerido() {
    $('.requerido').each(function (i, elem) {
             $(elem).css({ 'border': '1px solid gray' });
     });
}

function QuitarRequerido(tabla) {
    $("#" + tabla + " tr td").each(function (i, elem) {
        $(":input [type:text]").removeAttr('class');
    });
}
function AgregarRequerido(tabla) {
    $("#" + tabla + " tbody tr ").each(function (i, elem) {
        $(":input [type=text]").attr('class','requerido');
    });
}
/*valida los controles que tengan la clase requerido o requeridoLst y muestra el mensaje el Id del div como parametro */
var ValidarObligatorio = function ( divForm,divAviso) {
    var error = 0;
    $('#' + divForm + ' .requerido').each(function (i, elem) {
        if ($.trim($(elem).val()) == '') {
            $(elem).css({ 'border': '1px solid red' });
            error++;
        } else {
            $(elem).css({ 'border': '1px solid gray' });
        }
    });
    $('#' + divForm + ' .requeridoLst').each(function (i, elem) {
        /// alert($(elem).val() );
        if ($(elem).val() == '000' || $(elem).val() == '00000' || $(elem).val() == '0') {
            $(elem).css({ 'border': '1px solid red' });
            error++;
        } else {
            $(elem).css({ 'border': '1px solid gray' });
        }
    });
    if (error > 0) {
        msgErrorB(divAviso, "Debe ingresar los campos requeridos ");
        return false;
    } else {
        msgErrorB(divAviso, "");
        return true;
    }
};
var FechaConfig = function () {
    $.datepicker.regional['es'] = {
        closeText: 'Cerrar',
        prevText: 'Previo',
        nextText: 'Próximo',
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
        monthStatus: 'Ver otro mes',
        yearStatus: 'Ver otro año',
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
        dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sáb'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'],
        dateFormat: 'dd/mm/yy', firstDay: 0,
        initStatus: 'Selecciona la fecha', isRTL: false
    };

    $.datepicker.setDefaults($.datepicker.regional['es']);
};

function GetQueryStringParams(sParam) {
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) {
            return sParameterName[1];
        }
    }
};